﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Windows.Media;
using System.Globalization;

namespace RecommendatioNetwork.View.Converter
{

    class RatingUintToStar1BrushConverter : IValueConverter
    {
        //viene invocato al passaggio dalla fonte dati verso l'elelmento di user Interface
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SolidColorBrush brush;
            uint quantity = System.Convert.ToUInt16(value);
            if(quantity>=1)
                brush = new SolidColorBrush(Colors.Yellow);
            else
                brush = new SolidColorBrush(Colors.WhiteSmoke);
            return brush;
        }

        //viene invocato al passaggio dalla user Interface alla fonte dati
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
    class RatingUintToStar2BrushConverter : IValueConverter
    {
        //viene invocato al passaggio dalla fonte dati verso l'elelmento di user Interface
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SolidColorBrush brush;
            uint quantity = System.Convert.ToUInt16(value);
            if (quantity >= 2)
                brush = new SolidColorBrush(Colors.Yellow);
            else
                brush = new SolidColorBrush(Colors.WhiteSmoke);
            return brush;
        }

        //viene invocato al passaggio dalla user Interface alla fonte dati
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

    class RatingUintToStar3BrushConverter : IValueConverter
    {
        //viene invocato al passaggio dalla fonte dati verso l'elelmento di user Interface
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SolidColorBrush brush;
            uint quantity = System.Convert.ToUInt16(value);
            if (quantity >= 3)
                brush = new SolidColorBrush(Colors.Yellow);
            else
                brush = new SolidColorBrush(Colors.WhiteSmoke);
            return brush;
        }

        //viene invocato al passaggio dalla user Interface alla fonte dati
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

    class RatingUintToStar4BrushConverter : IValueConverter
    {
        //viene invocato al passaggio dalla fonte dati verso l'elelmento di user Interface
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SolidColorBrush brush;
            uint quantity = System.Convert.ToUInt16(value);
            if (quantity >= 4)
                brush = new SolidColorBrush(Colors.Yellow);
            else
                brush = new SolidColorBrush(Colors.WhiteSmoke);
            return brush;
        }

        //viene invocato al passaggio dalla user Interface alla fonte dati
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

    class RatingUintToStar5BrushConverter : IValueConverter
    {
        //viene invocato al passaggio dalla fonte dati verso l'elelmento di user Interface
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            SolidColorBrush brush;
            uint quantity = System.Convert.ToUInt16(value);
            if (quantity >= 5)
                brush = new SolidColorBrush(Colors.Yellow);
            else
                brush = new SolidColorBrush(Colors.WhiteSmoke);
            return brush;
        }

        //viene invocato al passaggio dalla user Interface alla fonte dati
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

}


